<template>
	<view>
		<view class="uni-padding-wrap">
			<view class="uni-btn-v uni- uni-common-mt">
				<button type="primary" class="page-body-button" @tap="login">一键登录</button>
				<!-- <navigator url="/pages/personal/personal" hover-class="none"> -->
				<button type="primary" class="page-body-button" @click="navclick">短信验证码登录</button>

			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				show: false
			}
		},
		onLoad() {
			//#ifdef APP-PLUS
			const that = this
			//预登录操作可以判断当前设备环境是否支持一键登录，如果能支持一键登录，此时可以显示一键登录选项
			uni.preLogin({
				provider: 'univerify',
				success() {
					//预登录成功
					that.show = true
				},
				fail(res) {
					// 预登录失败
					that.show = true
					console.log(res)
				}
			})
			//#endif
		},
		methods: {
			login() {
				uni.login({
					provider: 'univerify',
					otherLoginButton: {
						visible: false,
					},
					univerifyStyle: {
						fullScreen: false,
						
						icon: {
							path: 'static/mqy.jpg' // 自定义显示在授权框中的logo，仅支持本地图片 默认显示App logo
						}
					}, //自定义登录框样式
					success(res) { // 登录成功 在该回调中请求后端接口，将access_token传给后端
						// 登录成功
						console.log(res.authResult) // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}

						uni.request({
							url: 'http://139.196.14.177:8080/uni-cloud/login', // 你的 API 地址
							method: 'POST',
							data: {
								access_token: res.authResult.access_token, // 客户端一键登录接口返回的access_token
								openid: res.authResult.openid // 客户端一键登录接口返回的openid
							},
							header: {
								'Content-Type': 'application/json' // 或 'application/x-www-form-urlencoded'、'application/json'
							},

							success: (response) => {
								// 请求成功的处理
								console.log(response);
								if (response.data.code == 0) {
									const token = response.data.data.token;
									uni.setStorageSync('token', token);
									console.log(response.data.message);
									setTimeout(() => {
										uni.showToast({
											icon: 'success',
											title: '登录成功',
										});
									}, 220);
									// 保存用户手机号码到本地
									uni.setStorage({
										key: 'userPhoneNumber',
										data: response.data.data.phone, // 假设 phoneNumber 是从后端返回的包含手机号的字段
										success: function() {
											console.log('手机号码保存成功', response.data.data.phone);  //111
										}
									});
									uni.closeAuthView(); //关闭一键登录弹出窗口
									uni.switchTab({
										url: '/pages/index/index'
									});
								} else {
									// 登录失败
									setTimeout(() => {
										uni.showToast({
											icon: 'fail',
											title: response.data.message
										});
									}, 220);
									uni.closeAuthView(); //关闭一键登录弹出窗口
								}
							},

							fail: (error) => {
								// 请求失败的处理
								console.error(error);
								uni.showToast({
									icon: 'loading',
									title: '网络请求失败'
								})
							}
						});
					},
					fail(res) {
						// 登录失败
						console.log(res.errCode)
						console.log(res.errMsg)
						uni.closeAuthView() //关闭一键登录弹出窗口
					}
				})
			},
			navclick() {
				uni.navigateTo({
					url: '/pages/otherlogin/otherlogin',
				})
			}
		}
	}
</script>

<style>
	button {
		background-color: #007aff;
		color: #ffffff;
	}
</style>